#ifndef CLIENT_H
#define CLIENT_H

#include <stdbool.h>
#include <pthread.h>

// 客户端结构体
typedef struct {
    int socket_fd;
    char username[50];
    bool connected;
    pthread_t receive_thread;
} ChatClient;

// 初始化客户端
extern ChatClient* init_client();

// 连接服务器
extern bool connect_to_server(ChatClient *client, const char *server_ip, int port);

// 断开服务器连接
extern void disconnect_from_server(ChatClient *client);

// 客户端登录
extern bool client_login(ChatClient *client, const char *username, const char *password);

// 客户端注册
extern bool client_register(ChatClient *client, const char *username, const char *password);

// 发送消息
extern bool send_message(ChatClient *client, const char *message, const char *receiver);

// 接收消息的线程函数
extern void* receive_messages(void *arg);

// 显示帮助信息
extern void show_help();

// 清理客户端资源
extern void cleanup_client(ChatClient *client);

#endif /* CLIENT_H */